8ad92b6260e47a02d33384366cc91a1dae419f10,core/src/main/java/com/orientechnologies/orient/core/sql/OCommandExecutorSQLSelect.java,OCommandExecutorSQLSelect,convertToBetweenClause,#OSQLFilterCondition#,960
Before Change
String leftField;
if (leftCondition.getLeft() instanceof OSQLFilterItemField) {
OSQLFilterItemField itemField = (OSQLFilterItemField) leftCondition.getLeft();
if (itemField.isFieldChain())
return null;
leftField = itemField.getRoot();
After Change
if (!(rightCondition.getLeft() instanceof OSQLFilterItemField) && !(rightCondition.getRight() instanceof OSQLFilterItemField))
return null;
if (leftCondition.getLeft() instanceof OSQLFilterItemField && leftCondition.getRight() instanceof OSQLFilterItemField)
return null;
if (!(leftCondition.getLeft() instanceof OSQLFilterItemField) && !(leftCondition.getRight() instanceof OSQLFilterItemField))
return null;
final List<Object> betweenBoundaries = new ArrayList<Object>();
if (rightCondition.getLeft() instanceof OSQLFilterItemField) {
OSQLFilterItemField itemField = (OSQLFilterItemField) rightCondition.getLeft();
if (!itemField.isFieldChain())
return null;
if (itemField.getFieldChain().getItemCount() > 1)
return null;
rightField = itemField.getRoot();
betweenBoundaries.add(rightCondition.getRight());
} else if (rightCondition.getRight() instanceof OSQLFilterItemField) {
OSQLFilterItemField itemField = (OSQLFilterItemField) rightCondition.getRight();
if (!itemField.isFieldChain())
return null;
if (itemField.getFieldChain().getItemCount() > 1)
return null;
rightField = itemField.getRoot();
betweenBoundaries.add(rightCondition.getLeft());
} else
return null;
betweenBoundaries.add("and");
String leftField;
if (leftCondition.getLeft() instanceof OSQLFilterItemField) {
OSQLFilterItemField itemField = (OSQLFilterItemField) leftCondition.getLeft();
if (!itemField.isFieldChain())
return null;
if (itemField.getFieldChain().getItemCount() > 1)
return null;
leftField = itemField.getRoot();
betweenBoundaries.add(leftCondition.getRight());
} else if (leftCondition.getRight() instanceof OSQLFilterItemField) {
OSQLFilterItemField itemField = (OSQLFilterItemField) leftCondition.getRight();
if (!itemField.isFieldChain())
return null;
if (itemField.getFieldChain().getItemCount() > 1)
return null;
leftField = itemField.getRoot();
betweenBoundaries.add(leftCondition.getLeft());